A Functional Language for Logarithmic Space
نویسنده
چکیده
More than being just a tool for expressing algorithms, a welldesigned programming language allows the user to express her ideas efficiently. The design choices however effect the efficiency of the algorithms written in the languages. It is therefore important to understand how such choices effect the expressibility of programming languages. The paper pursues the very low complexity programs by presenting a first-order function algebra BCε that captures exactly lf, the functions computable in logarithmic space. This gives insights into the expressiveness of recursion. The important technical features of BCε are (1) a separation of variables into safe and normal variables where recursion can only be done over the latter; (2) linearity of the recursive call; and (3) recursion with a variable step length (course-of-value recursion). Unlike formulations of lf via Turing Machines, BCε makes no references to outside resource measures, e.g., the size of the memory used. This appears to be the first such characterization of lf-computable functions (not just predicates). The proof that all BCε-programs can be evaluated in lf is of separate interest to programmers: it trades space for time and evaluates recursion with at most one recursive call without a call stack.
منابع مشابه
Space-efficient Computation by Interaction A Type System for Logarithmic Space
We introduce a typed functional programming language for logarithmic space. Its type system is an annotated subsystem of Hofmann’s polytime LFPL. To guide the design of the programming language and to enable the proof of LOGSPACE-soundness, we introduce a realisability model over a variant of the Geometry of Interaction. This realisability model, which takes inspiration from Møller-Neergaard an...
متن کاملComputation by interaction for space-bounded functional programming
We consider the problem of supporting sublinear space programming in a functional programming language. Writing programs with sublinear space usage often requires one to use special implementation techniques for otherwise easy tasks, e.g. one cannot compose functions directly for lack of space for the intermediate result, but must instead compute and recompute small parts of the intermediate re...
متن کاملGeneralized Weighted Composition Operators From Logarithmic Bloch Type Spaces to $ n $'th Weighted Type Spaces
Let $ mathcal{H}(mathbb{D}) $ denote the space of analytic functions on the open unit disc $mathbb{D}$. For a weight $mu$ and a nonnegative integer $n$, the $n$'th weighted type space $ mathcal{W}_mu ^{(n)} $ is the space of all $fin mathcal{H}(mathbb{D}) $ such that $sup_{zin mathbb{D}}mu(z)left|f^{(n)}(z)right|begin{align*}left|f right|_{mathcal{W}_...
متن کاملAutomata Theory on Sliding Windows
In a recent paper we analyzed the space complexity of streaming algorithms whose goal is to decide membership of a sliding window to a fixed language. For the class of regular languages we proved a space trichotomy theorem: for every regular language the optimal space bound is either constant, logarithmic or linear. In this paper we continue this line of research: We present natural characteriz...
متن کاملLinear Advice for Randomized Logarithmic Space
We show that RL ⊆ L/O(n), i.e., any language computable in randomized logarithmic space can be computed in deterministic logarithmic space with a linear amount of non-uniform advice. To prove our result we use an ultra-low space walk on the Gabber-Galil expander graph due to Gutfreund and Viola. ∗Work done while at TTI-Chicago.
متن کامل